For date nodes we distinguish between actual values and displayed values. Actual values are the real numbers calculated the “normal” way by using the specified algorithms, operators, distributions, etc. The displayed values are derived from the actual values by converting the actual values into dates and durations, using the following rules:
1. The actual output value of a date node is converted into a date by interpreting it as the number of duration units elapsed since “time zero”, rounded off upwards to the closest day. This date is referred to as the finish date of the node.
2. The actual input value of a date node is converted into a date by interpreting it as the number of duration units elapsed since “time zero”, rounded off upwards to the closest day. This date is referred to as the finish date of the predecessors of the node. (For simplicity we use this term also for nodes with no predecessors. In such cases the finish date of the predecessors of the node is the day before “time zero”.)
3. The duration of a date node is the difference between the finish date of the node and the finish date of its predecessors, and is always measured in days.
4. The displayed output value of a date node is equal to its finish date.
5. The displayed local value of a date node is equal to its duration.
6. If the duration of a date node is at least one day, its displayed input value is one day after the finish date of its predecessors. Otherwise, the displayed input value of the node is equal to the finish date of its predecessors.
The rules may seem unnecessarily complex. To fully understand them it is probably a good idea to consider some examples. By applying these rules, however, we ensure that DynRisk handles dates in a way that is compatible with standard scheduling software like e.g., Microsoft Project‚Ñ¢.
Note that the rules are applied to any node that satisfies the date node criterion defined in the date settings dialog box. The rules are based on the assumption that the output value of a date node is either equal to its input value, or the sum of the input and a positive local value. However, DynRisk does not check whether or not this assumption holds true in a given model. It is up to you to ensure that the date node criterion is satisfied only for nodes where the above rules make sense.